package com.taxshare.purchaser.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.taxshare.mybatis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

//发票归集数据主表
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("t_purchaser_invoice_collections")
public class InvoiceCollectionsEntity extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;
    @TableId("id")
    private String id;

    @TableId("fphm")
    private String fphm; //发票号码
    @TableId("fplx")
    private String fplx; //发票类型
    @TableId("zzfpDm")
    private String zzfpDm; //纸质发票代码
    @TableId("zzfphm")
    private String zzfphm; //纸质发票号码
    @TableId("kprq")
    private String kprq; //开票日期  yyyy-mm-dd HH:mm:ss
    @TableId("fppzDm")
    private String fppzDm; //开发票票种代码
    @TableId("tdyslxDm")
    private String tdyslxDm; //特定要素类型代码
    @TableId("sflzfp")
    private String sflzfp; //是否蓝字发票Y：是 N：否
    @TableId("kjhzfpdydlzfphm")
    private String kjhzfpdydlzfphm; //开具红字发票对应的蓝字发票号码
    @TableId("kjhzfpdydzzfpDm")
    private String kjhzfpdydzzfpDm; //开具红字发票对应的纸质发票代码
    @TableId("kjhzfpdydzzfphm")
    private String kjhzfpdydzzfphm; //开具红字发票对应的纸质发票号码
    @TableId("xsfnsrsbh")
    private String xsfnsrsbh; //销售方识别号
    @TableId("xsfmc")
    private String xsfmc; //销售方名称
    @TableId("xhfdz")
    private String xhfdz; //销货方地址
    @TableId("gmfnsrsbh")
    private String gmfnsrsbh; //购买方识别号
    @TableId("gmfmc")
    private String gmfmc; //购买方名称
    @TableId("gmfdz")
    private String gmfdz; //购买方地址
    @TableId("hjje")
    private String hjje; //合计金额
    @TableId("hjse")
    private String hjse; //合计税额
    @TableId("jshj")
    private String jshj; //价税合计
    @TableId("jshjdx")
    private String jshjdx; //价税合计(大写)
    @TableId("kce")
    private String kce; //扣除额
    @TableId("jsfsDm")
    private String jsfsDm; //结算方式
    @TableId("kpr")
    private String kpr; //开票人
    @TableId("bz")
    private String bz; //备注
    @TableId("xmmxhs")
    private String xmmxhs; //明细条数
    @TableId("zzsjzjtDm")
    private String zzsjzjtDm; //增值税即征即退代码
    @TableId("cktslDm")
    private String cktslDm; //出口退税类代码
    @TableId("fhrxm")
    private String fhrxm; //复核人姓名
    @TableId("skrxm")
    private String skrxm; //收款人姓名
    @TableId("xsfdh")
    private String xsfdh; //销售方电话
    @TableId("xsfkhh")
    private String xsfkhh; //销售方开户行
    @TableId("xsfzh")
    private String xsfzh; //销售方账号
    @TableId("gmfdh")
    private String gmfdh; //购买方电话
    @TableId("gmfkhh")
    private String gmfkhh; //购买方开户行
    @TableId("gmfzh")
    private String gmfzh; //购买方账号
    @TableId("xfnsrlxdm")
    private String xfnsrlxdm; //销方纳税人类型代码1：一般纳税人2：小规模纳税人3：转登记小规模纳税人4：辅导期一般纳税人

    @TableId("cpyycbs")
    private String cpyycbs; //成品油异常标识9：正常； 1：成品油单价异常；2：成品油超库存异常；8：正常，需全额红冲

    @TableId("deductible")
    private String deductible; //是否认证 0-未认证 1-已认证
    @TableId("deductibleResult")
    private String deductibleResult; //认证结果01勾选（撤销）成功，02查无此票；03该票异常无法勾选；04该票已经逾期无法认证；05当期已锁定（已申请统计）;06已勾选无法重复勾选;07未到期发票不可勾选（开票月份大于当前属期);11低版本发票;12机动车异常发票;13该票号码重复；31待处理农产品发票未确认；99其他
    @TableId("deductibleDate")
    private String deductibleDate; //认证日期 如果已认证则为YYYY-MM-DD，未认证则为空
    @TableId("gxlxDm")
    private String gxlxDm; //勾选类型  01：申请抵扣 02：撤销抵扣 03：申请不抵扣 04：撤销不抵扣
    @TableId("fpzt")
    private String fpzt; //发票状态  0：正常 1：失控 2：作废 3：已红冲 7：部分红冲  8：全额红冲
    @TableId("sfycpz")
    private String sfycpz; //是否异常凭证  01:正常；02:异常凭证；03:疑似异常凭证
    @TableId("sdzt")
    private String sdzt; //锁定状态  01:未锁定；02:已锁定
    @TableId("hxyt")
    private String hxyt; //当前勾选用途  1:已申请抵扣；2:已申请退税；3:已申请代办退税；4:已勾选不抵扣（历史数据）；5:已申请代办退税（历史数据）;6:已申请不抵扣;11:东奥退税
    @TableId("skssq")
    private String skssq; //税款所属期



    @TableId("ylzd1")
    private String ylzd1; //预留字段
    @TableId("ylzd2")
    private String ylzd2; //预留字段
    @TableId("ylzd3")
    private String ylzd3; //预留字段
    @TableId("ylzd4")
    private String ylzd4; //预留字段
    @TableId("ylzd5")
    private String ylzd5; //预留字段


}
